ZL2AFP MSK-HELL HELP

A narrow-band weak signal chat mode for LF/MF

Ver 1.0 02.11.10 (beta)

Introduction

PSK and MSK are spectrally efficient modes, i.e. use very little bandwidth for a given keying rate. MSK (Minimum Shift Keying) is very similar to PSK (Phase Shift Keying), but instead of changing the phase 180° to signal data bits, the frequency is advanced or retarded a very small amount, sufficient to exactly achieve a 180° phase shift in one bit period. The frequency shift required is only one half the baud rate. Because the phase shift is produced without sudden changes in phase, the MSK signal does not require other measures such as amplitude modulation to reduce the keying sidebands. The spectrum is virtually the same as PSK, but the phase relationship between the carrier and the data is different. MSK is little used on HF, but has been widely used on LF, is now used on MF for DGPS beacons, and is used for VLF submarine communications.

Hellschreiber (a simple text facsimile system) was first used in 1927, and we should remember that, for at least 30 years, Hellschreiber was the preferred mode on LF for press broadcasts and other telegraphic transmissions. It seems appropriate, both technically and historically, to return to LF some 80 years later, with a high-performance narrow-band Hellschreiber-style mode!

The Hellschreiber technique uses considerable redundancy (as many as 98 symbols per character, compared to say RTTY with only 7 symbols per character). This feature, combined with the ability of the reader's eye and brain to recognise patterns in noise, gives the technique a considerable advantage over conventional digital modes. Of course this extra redundancy comes at the cost of greater bandwidth or slower sending, or both.

In this application we introduce MSK as a modulation technique for Hell-style visually interpreted ('Fuzzy') modes intended for LF and MF, where extreme sensitivity and narrow bandwidths are the over-riding necessities of communication. Most sensitive modes for these frequencies are very slow - but here we have a typing-speed system which is sensitive, easy to tune and easy to use. Each character contains up to about 50 dots; because the eye reconstructs the received information, and because the phase-sensitive demodulator gives excellent contrast between text and background noise, the modes are very immune to QRM. You'll find that (at the higher speeds) it also works very effectively on HF, and the software is (at the highest speed offered) compatible with other HF MSK-Hell ('FM-Hell') software.

The HUGE advantage of MSK over PSK is that because there is no amplitude information on the signal, the transmitter and amplifier need not be linear.

Designed for the Conditions

The LF and MF Amateur bands (2200m, 600m and 160m) are characterized by relatively stable carrier phase on received signals, accompanied by low Doppler shift. These bands have very strong lightning interference, but mostly local, not the background of random impulse noise typical of lower HF. While there is multi-path reception, especially on 160m, the path changes are slow. The slow fades can be very deep, and signals are generally quite weak, and frequently accompanied by man-made interference; so in order to have a conversation at typing speed on these bands we need a mode that is very sensitive, has excellent impulse noise and QRM tolerance, but need not have strong phase or Doppler tolerance.

It is no accident that MSK is used by military and commercial services on VLF and LF, or by the MF DGPS beacons around 300kHz. A well designed MSK mode can have all the features just described. We demonstrated this in the ZL2AFP CMSK digital mode program. In the ZL2AFP MSK-Hell program however, we concentrate on traditional dot-matrix transmissions that are reconstructed by the user's eye and brain. Several important design features have been added to make a robust and very sensitive chat (QSO) system totally suited to LF and MF.

The following modes are offered:

Mode Baud Rate Bandwidth Typing Speed ITU Definition
MSK-Hell 31 31.25 50Hz 7 WPM 50H0F1B
MSK-Hell 63 62.5 100Hz 15 WPM 100HF1B
MSK-Hell 105 105 170Hz 25 WPM 170HF1B
Feld-Hell 31 31.25 150Hz 7 WPM 150HA1B
Feld-Hell 63 62.5 300Hz 15 WPM 300HA1B
Feld-Hell 105 105 500Hz 25 WPM 500HA1B

The program offers symbol rates 31.25, 62.5 and 105 baud, in both MSK-Hell and ASK-Hell (conventional Feld-Hell). The default mode (in bold text with pink background in the table) is MSK-Hell 63. The default speed, 62.5 baud, has a leisurely typing speed, and sensitivity is so good that you can generally copy any MSK-Hell signal you can see on the waterfall display.

The 105 baud MSK-Hell mode has a transmitted bandwidth of under 200Hz, so is easily within the bandwidth limit which applies in New Zealand. This is not the case (as you can see from the table) with the much wider Feld-Hell modes, which are offered here mostly to enable users to prove to themselves the advantages of MSK. Please only use Feld-Hell on a frequency where the wider bandwidth is permitted!

Note:
The bandwidths quoted in the table are assured only if your transmitter is clean (noise, distortion and harmonic free) and has good carrier and sideband suppression! The transmitter amplifier need not however be linear.

Compatibility

MSK-Hell and FM-Hell
The MSK-Hell 105 baud mode is compatible with the 'FM-Hell 105' mode offered by IZ8BLY Hellschreiber, MIXW and FLDIGI. The only difference in this respect is that the ZL2AFP MSK-Hell software offers a choice of asynchronous and synchronous receiver demodulators.

Feld-Hell 105 and 122.5
The 105 baud Feld-Hell mode offered by ZL2AFP MSK-Hell is also completely compatible with standard 122.5 baud Feld-Hell, despite the lower baud rate. This is because the reduced resolution font used by this program for MSK-Hell is also used for Feld-Hell. This is done in order to limit bandwidth. The font has less detail (only 12 rather than 14 pixel-pairs per column), and the baud rate required to achieve the standard column rate is 12/14 or 86% of the standard dot rate. Thus the column scan rate remains the same as standard Feld-Hell.

Lower Baud Rates
The 31.25 and 63.5 baud rate MSK-Hell and Feld-Hell modes in ZL2AFP MSK-Hell currently have no equivalent in other programs. These slower speeds are ideal for beacon applications, but generally only appropriate on LF and MF.


Screenshot of the ZL2AFP MSK-Hell software
(Click on image for full-size view)

Guided Tour

Text Panes
Check out the screen-shot above. There are two text panes - the large graphics receive pane at the top, and the pale yellow transmit text buffer pane immediately below it. Received text shows in the receive pane as constructed from tiny black or grey dots. Although each character is only transmitted once, the text is always displayed as two rows of text one above the other in traditional Hell fashion. This is because the receiver has no knowledge of the timing of the scanned and transmitted characters, so by displaying them twice the text joins up and remains readable even if the phase is arbitrary (see example below). It also means the text remains readable even if the stations have a gross (1% or more) baud rate or sampling rate difference.

   
Double text printing - misaligned text (right) is still readable

You can type in the transmit buffer even while receiving ('type-ahead' feature), so when you press F9 Send, what you have already typed will start the transmission. In this way even slow typists will be able to hold full speed QSOs (and nobody will know how bad your typing is!). You must click the mouse in this pane before you start typing, in order for the typing to be recognised correctly. If you use the Function Keys (see next section) rather than the mouse for controlling functions, the focus will remain in the transmit pane.

What you type in the transmit buffer will also appear in the receive pane as and when it is transmitted, so you can see how the transmission is progressing; the receive pane (which can be saved as a file) acts as a complete record of the QSO. In order for your typed text to appear in the transmit buffer (and be subsequently transmitted), you must first click the mouse in the transmit buffer pane.

The program window size defaults to a size suitable for a Netbook PC (as in screenshot above). The height of the window can be stretched to suit other computers by dragging the top of the window up, or the bottom down. This enlarges only the receive pane. The width is fixed.

Function Keys
A row of eight programmable Function Keys F1 to F8 is shown below the transmit pane. When the actual keyboard key is pressed or its display representation clicked with the mouse, these 'Macro Keys' place text into the keyboard buffer at the current cursor location. The key content and key label can be defined by right-clicking on the button, and the keys are used by left-clicking the button or pressing the matching keyboard function key.

Function Key F9 is a special key, with its corresponding button labelled Send. This function key can't be changed in name or function. When you press F9 (or click on the Send button with the mouse), the transmitter starts and the button label changes to Receive. The transmission starts with any text already typed in the transmit pane, and will then slowly send 'hesitation dots' when the buffer is empty, interspersed with whatever characters you continue to type into the transmit buffer (make sure the cursor is in the transmit buffer by clicking the mouse there before typing). If you type fast enough, the text will be correctly joined up with no hesitation dots.

To return to receive you can press the same F9 button, now labelled Receive. When you press the button, the transmitter stops IMMEDIATELY and the label changes back. This action is different from the F10 key function described next.

Note:
This button causes immediate return to receive, and you will lose everything currently in the transmit buffer. Use it as a 'Panic Button'!

EOT Marker
F10 (labelled F10 RX) can have it's content defined by right-clicking, but it has two special fixed functions. It defines the text used to indicate in the text buffer where an over finishes; when you press F10 or click the button, it places this text in the buffer. Edit this Function Key to assign a group of characters which you wish to use to cause the program to return to receive AFTER the transmit buffer has been emptied. Use a few characters that are unlikely to appear elsewhere in normal typing. For example, use '[EOT]' (the default setting), '{AR}' or '|K|'.

Once defined, whenever you press the F10 key or click on the F10 RX button at the end of your typed over, the transmission CONTINUES until the last of your typed text has been sent (and the EOT marker as well). This behaviour is what you expect when having a QSO, and is different to that of the F9 Send/Receive button (described above).

  • It is also important to realize that when DX Mode is on (see below) the EOT function will not be recognised - so make sure DX is off before the end of the over.
  • You can also manually type the preset EOT text into the transmit buffer to cause transmission to end, in the same way as pressing F10.
  • You can also use the defined EOT marker in other Macro Keys, so you can automate the end of an over, as you can see in the screenshot example.

    Here are some end of transmission Macro examples which assume the use of '|K|' as the F10 trigger text:

    BTU de ZL1XYZ |K|
    or:
    73 de ZL1XYZ RF72ku S|K|

    During a QSO, you would normally use the F9 key to start an over, and the F10 key (or a macro containing the [EOT] sequence) to terminate the over.

    Other Controls
    To the right of the Function Keys are two further buttons, and below these the mode controls:

    CWID causes the program to send an on-off keyed conventional Morse ID once. This feature is inhibited while transmitting. You must set the callsign (Text options/callsign) for this to work correctly. If the ID cuts off early, add a space or two after the defined callsign.

    Pause stops the receiving process and freezes the receiver pane. This allows you to continue to read the text without it eventually scrolling off the screen. In transmit mode it also freezes the receiver pane, so your transmitted text is not displayed. The transmission does however continue with Pause pressed.

    Speed and Mode Selection
    The speed and mode selection applies to both receive and transmit. The selection is made using the radio buttons under the CWID button. You can't change speed while transmitting, and the selectors are then greyed out. The default mode is MSK-Hell; the default speed is 63 baud, which has a leisurely typing speed of about 15 WPM, 100Hz bandwidth, and excellent sensitivity. The faster speed, 105 baud, is faster, broader, and slightly less sensitive: best sensitivity is to be found in MSK-Hell 31 mode, although the typing speed is a little slow, and tuning requires more care.

    The default reception mode is MSK-HELL (Sync) (synchronous detection of MSK-Hell), which offers slightly better sensitivity and clearer text when conditions are stable. In this mode, the detector used is the classic Costas Loop (also used for PSK), which allows the data clock to be recovered. The use of this clock (which, like the data has slightly varying timing due to propagation changes) means that text is displayed in straight lines with better clarity. Under conditions where timing changes markedly (early evening on 160m, for example), occasional letters may not print clearly because the sync is lost momentarily. (This mode is not truly 'Fuzzy' since the computer makes pixel timing decisions for you).

    The MSK-HELL (Async) detector (for asynchronous detection of MSK-Hell) is less affected by multi-path, since it operates and is timed completely independently of the received data bits. This detector simply measures phase difference from one sample to the next. The phase differences are plotted directly on the screen for the user's eye to decipher (i.e. a 'Fuzzy' mode). This mode is not fooled by timing variations, but propagation can cause the text to be blurred at times, and the text tends to wander up and down slightly in sympathy with propagation changes.

    Choose the MSK-HELL detector which gives the better reception under the prevailing conditions. The transmission in both MSK-HELL modes is the same. The transmitter operates with 100% duty cycle.

    The FELDHELL (on-off keyed) mode is provided mainly for compatibility with other Hell software, although it also provides a means of demonstrating, by direct comparison, the superior sensitivity, bandwidth and clarity of MSK-Hell. Because Feld-Hell is on-off keyed, the transmitter efficiency is good, an important factor for portable operaton. (Transmitter duty cycle about 30%). However, like any CW mode, it is prone to noise, because it can be hard to discriminate between a signal dot and noise, since both are amplitude-base phenomena.

    Feld-Hell reception in this software is truly 'Fuzzy' (all decisions are left to the user's eye and brain), and you will be able to see the difficulties imposed on reception by noise and propagation effects. While not anywhere near as sensitive as MSK-Hell, and too wide for use on restricted LF and MF bands, Feld-Hell is still an effective and simple mode to use. It is very easy to tune in and deservedly popular despite its 80 or more year history.

  • Tuning in Signals

    Waterfall
    At the bottom left of the program window is a waterfall tuning display, which works similarly to ARGO, except it moves down rather than sideways. Signals show as white on dark blue or with a multi-colour pallette (as in the example to the right). CW signals show as a thin line, while MSK signals tend to be broader - about 100Hz wide for MSK-HELL 63. In MSK modes the signal looks more like a narrower CW signal with occasional excursions to the left. A small red V marker on the scale above shows the current receiver tuning point, and left clicking on the waterfall (not the scale) changes reception tuning to the signal you click on, and moves the marker. This is no different from receiving PSK31 on popular HF programs, except that you need to tune carefully on the slower MSK modes. You may find it easier to click slightly to the left of the obvious carrier.

    A small blue | marker on the scale above the waterfall shows the current transmitter tuning point. On transmit, the transmitted signal tone does not follow the point you click on the waterfall to tune the receiver. This is because on MF you normally want to transmit on a particular frequency with high accuracy, and receiver tuning adjustment is usually only made to correct slight errors or to tune the receiver to someone else's frequency. The transmit centre frequency can be set to an exact frequency from the menu; it can be set to the receiver frequency, or to any clear spot on the waterfall by right clicking on the waterfall. The default frequency is 1000Hz, but you can change it from the TX options menu to place the transmitted signal at an exact spot, to include any transmitter offset, or to coincide with the receiver tuning, in order to suit your favourite receiver filter.

    Tuning Step 1: Click accurately on the signal centre (Feld-Hell), or slightly left of centre (MSK-Hell). You can estimate the baud rate used roughly from the width of the signal.

    Eye Diagram
    To the right of the waterfall is another little tuning window, called an 'Eye Diagram' (courtesy of Peter G3PLX). An enlarged example is shown here to the right. This display shows frequency in the horizontal direction, time in the vertical direction. In Sync mode the signal phase is painted on the diagram in sync with the received symbols. The pattern could be far more jumbled than shown, if the signal is weak, especially while receiving in Async mode. If the pattern is too wide or too thin, or there is no discernable eye, check that you have the correct symbol rate. In Feld-Hell mode this display will show a random jumble of lines without a discernable eye - but don't worry because Feld-Hell is very easy to tune without the fine control.

    The signal needs to be fine-tuned so the elliptical 'eye' (where visible) is centred on the cross hairs. The easiest way to do this is to slide the Fine Tune control under the display to centre the eye. In the vertical direction, the signal is automatically centered by the sync (in Synch mode). If there is any tendency for the eye to slip or drift vertically, or not center well, the Sample Rate adjustment (see menu) can be used to correct this, but the need for this step would be rare. In most cases the default 8000 samples/sec should be close enough. If the signal is weak and noisy, just tune as best you can for clearest received text.

    Tuning Step 2: Carefully and slowly (especially at lower baud rates) centre the eye of the MSK-Hell signal. If the signal is very noisy or weak, this may not prove easy, so just centre the 'mess'. Finally adjust for clearest received text (not too dark, not too light). You may not need to fine tune in Feld-Hell mode.

    Once you have performed these tuning steps, you should have best possible copy of the station you've tuned to. The process can be a little slow, but it gets better with practice, and it's worth the effort of doing it correctly.

    Menu and Status Line

    The menu line at the top of the program window has six entries:
    File
    Save screen to file now
    Saves the complete receiver screen (which may be bigger than can is currently displayed) as a .BMP bit map file, with an automatically generated filename of the form 'MSK-HELLdatetime.bmp'. The file is 1.55MB in size.
    (Transmit File)
    No menu command is required. To transmit a file (a SMALL text file) start the transmitter (F9 Send) and simply drag and drop the file onto the program. Be aware that files longer than a few hundred bytes will take forever to transmit!
    TX Options
    PTT
    Brings up a dialog allowing selection of the COM port used to control the transceiver PTT circuit.
    CAT
    Intended to define setup of computer control via CI-V protocol etc. Not yet implemented.
    Transmit frequency
    Defines the transmitter centre frequency (the frequency of the audio tone).
    Toggle beacon Mode ON/OFF
    Enables or disables beacon mode. In beacon mode, whatever is in the transmit buffer is transmitted
    over and over until the transmitter is stopped or the beacon mode is turned off.
    Toggle tune signal ON/OFF
    Turns the transmitter on and sends a centre frequency tuning carrier (frequency defined by TX options/Transmit frequency).
    Soundcard
    Mixer
    Starts the Windows sound mixer applet so you can set the input and output audio levels.
    Audio Devices
    Starts the Windows Sound and Audio Device Properties applet so you can choose which sound card to use.
    Select soundcard
    Brings up a small dialog which allows you to choose from the available sound cards or modules, which one to use with the program.
    I and Q output
    When 'I and Q' is selected, the left and right channels of the transmit output are the real (cosine) and imaginary (sine) renditions of the audio tones, i.e. with 90° phase difference. These are intended for use with a phasing type transmitter which requires quadrature inputs. The default mode is 'Mono', where both outputs are identical.
    Sample rate
    Defines the sound card sampling rate. The default is 8000 samples/sec. Use to correct for sound card timing errors on receive. The sample rate on transmit is fixed.
    Display
    Toggle gray scale on/off
    Selects one of two receiver display algorithms. Grey-scale is easier on the eye, but may show more noise. The current status is shown in the status line at the bottom of the program window.
    Toggle waterfall pallette
    Offers ARGO style (blue and white) or an alternative blue/cyan/white waterfall pallette.
    Text options
    Clear TX
    Clears the transmit buffer, but currently you need to return to receive and start transmit again for normal operation.
    Toggle DX font
    Selects or de-selects 'DX Mode'. In DX Mode, each column is sent twice. This makes the text more readable under poor reception conditions, but halves the typing speed. See below this table for an example of DX Mode text.
    Callsign
    Allows you to set your callsign (will be used for CWID).
    Help
    Help
    Pulls up the MSK-Hell Help file (this file)
    About
    Pops up a small window which identifies the software and describes key parameters.
    The status line at the bottom of the program lists (left to right) the receiver audio centre frequency, (where the red marker is); the indicated audio frequency and level (where the mouse is hovering if it is over the waterfall); the Tune signal status; whether the beacon mode is enabled or not; the display grey-scale setting; and the system date and time.


    DX Mode reception example - slower but more readable

    Installation and Setup

    The program should run on most computers with Windows™ Win2000, WinXP or Win7. (The sound card applets will probably need to be invoked from the operating system rather than the menu if using Win7). The program window is sized to work correctly on 600 pixel high 'Netbook' screens, and is known to work well on the Asus EEE PC. If you are new to PC sound card operation or operating digital modes by computer, see the * note below for further advice.
    1. Unzip the supplied archive into a new folder on your computer.
    2. Create a shortcut to the executable and drag it onto your desktop.
    3. Start the program using this shortcut, then click OK when the COM port warning message appears.
    4. From the menu, select TX options/PTT and set the COM port used to control the transmitter.
    5. From the menu, select Text options/Callsign and enter your callsign.
    6. Right-click on the F10 button and define your EOT trigger (for example '|K|').
    7. Check that the PTT works (operates the transmitter)*, then close the program in order to save these changes. Whenever you close the program, changes you have made to settings are saved to the file named MSKHellpreferences.ini. This file is initially created when you close the program for the first time. (If you mess up the settings at any time, you can return to the default settings by deleting or renaming this file).
    8. Start the program again, program any macros you need, set the transmit and receive audio levels as desired, using the Soundcard menu items. Windows™ Vista and 7 computers users may need to do this using operating system tools. Remember to set the receiver AGC to FAST. Then use the software for QSOs and enjoy yourself!
    * If you have not previously used your rig with Digital Mode software, you will need to set up a digital interface which provides PTT control via a serial port, and handles the audio between the rig and the radio. For more information see:

    Getting Started with Sound Card Digital Modes    Simple Digital Interface Design

    If you have any questions or useful feedback about this program, please contact Con ZL2AFP (ZL2AFP at xtra dot co dot nz).


    Copyright © Murray Greenman and Con Wassilieff 2010. All rights reserved.